package com.xmjs.baselibrary.base;

import androidx.annotation.StringRes;

public interface IBaseView {

    /**
     * 显示加载进度视图
     *
     * @param cancelable
     */
    void showLoadingView(boolean cancelable);

    /**
     * 隐藏加载进度视图
     */
    void hideLoadingView();

    /**
     * 吐司
     *
     * @param msg
     */
    void toast(String msg);

    /**
     * 吐司
     *
     * @param msgId
     */
    void toast(@StringRes int msgId);

    /**
     * 重新登录
     */
    void onReLogin();

    /**
     * 显示页面错误提示
     *
     * @param imagResId
     * @param errorTextResId
     * @param btnTextResId
     */
    void showError(int imagResId, @StringRes int errorTextResId, @StringRes int btnTextResId);

    /**
     * 显示页面错误提示
     *
     * @param imagResId
     * @param errorText
     * @param btnText
     */
    void showError(int imagResId, String errorText, String btnText);

    /**
     * 显示页面错误提示
     *
     * @param imagResId
     * @param errorText
     * @param btnTextResId
     */
    void showError(int imagResId, String errorText, @StringRes int btnTextResId);

    /**
     * 显示空提示
     *
     * @param isShow
     * @param imagResId
     * @param hintText
     */
    void showEmpty(boolean isShow, int imagResId, String hintText);

    /**
     * 显示空提示
     *
     * @param isShow
     * @param imagResId
     * @param hintTextResId
     */
    void showEmpty(boolean isShow, int imagResId, @StringRes int hintTextResId);

    /**
     * 重新加载页面或重新请求数据
     */
    void onReload();

}